﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using KandieWebProjectI.BLL.Controller;

namespace KandieWebProjectI.UI.Forms.ProdutoPages
{
    public partial class ProdutoEditar : System.Web.UI.Page
    {
        private Domain.Model.Produto _produto;
        private ProdutoBLL _produtoBll;
        private bool _errorStatus = false;

        protected void Page_Load(object sender, EventArgs e)
        {
            if(!Page.IsPostBack)
            {
                FillForm();

                if(_produto.Id <= 0)
                {
                    Response.Redirect("~/Forms/ProdutoPages/Produto.aspx");
                }
            }
        }

        protected void FillForm()
        {
            _produto = new Domain.Model.Produto();
            _produtoBll = new ProdutoBLL();
            _produto.Id = Convert.ToInt32(Request.QueryString["target"]);
            _produto = _produtoBll.RetornaPorId(_produto.Id);

            this.txtId.Text = _produto.Id.ToString();
            this.txtDexcricao.Text = _produto.Descricao;
            this.txtPreco.Text = _produto.Preco.ToString();
            this.chkAtivo.Checked = _produto.Ativo;
        }

        protected void BtnSalvarClick(object sender, EventArgs e)
        {
            _produto = new Domain.Model.Produto
                           {
                               Id = Convert.ToInt32(txtId.Text),
                               Descricao = txtDexcricao.Text,
                               Preco = Convert.ToDecimal(txtPreco.Text),
                               Ativo = chkAtivo.Checked
                           };

            _produtoBll = new ProdutoBLL();
            this._errorStatus = _produtoBll.Atualizar(_produto);

            Session["statusError"] = this._errorStatus;
            Session["action"] = "Atualização realizada com sucesso!";
            Response.Redirect("~/Forms/ProdutoPages/ConfirmationPage.aspx");
        }

        protected void BtnCancelarClick(object sender, EventArgs e)
        {
            Response.Redirect("~/Forms/ProdutoPages/Produto.aspx");
        }
    }
}